The capability to export documents, such as text, image, or desktop publishing documents, to one or more computers in a distributed computer network, such as a local area network (LAN), wide area network (WAN), or the Internet, is an important function for communicating information. For example, a user can transmit a document over a distributed computer network using a document program, such as a word processing, graphics drawing, or desktop publishing program, to be accessed by another user as a document, using a document program, or as part of an e-mail message, using an Internet e-mail client.
Typically, both the sender and the user of a document that has been exported over a distributed computer network want the exported document to look the same as the original document looks when viewed using the document program that created the document, whether the exported document is viewed using a document program, Internet client, or some other application program. Additionally, the user of a document that has been exported over a distributed network often needs the ability to select text in the exported document to, for example, perform editing functions, such as copying or modifying the text, and the ability to perform search functions to, for example, locate pertinent portions of the text. Additionally, indiscriminately exporting text as image files results in a much larger file size for the document. Sometimes this may result in a file size that is too larger for certain e-mail systems.
However, existing approaches for creating an export version of a document, such as the use of cascading style sheet (CSS) positioning or vector markup language (VML), have shortcomings in providing the needs described above to a user. For example, existing approaches do not consistently provide an exported document that looks the same as the original document. Typically, the relative two-dimensional positioning of objects in the original document, such as text or images, is changed or removed in the exported document, as a result of the use of existing approaches to create the export version of the document. This may cause the objects to appear bunched together in line in the exported document. In some cases, separate objects in the original document may appear partially or completely overlapping each other in the exported document, due to the approach used to create the export version of the document. This and other inconsistent appearance problems occur even with the use of CSS positioning or VML, since many application programs automatically remove such formatting from an exported document when it is accessed in order to preserve a consistent and secure user interface. Often it is the viewer application, such as an online e-mail application, that removes the formatting from the exported document. Since the formatting is not controlled by the exporting application, but rather the viewing application, the consistency of the document format can't be relied on.
As another example, existing approaches for creating an export version of a document typically convert all text in the original document to one or more images in the export version of the document. As a result of such conversions, the text in the exported document typically cannot be selected to perform editing functions. Furthermore, search functions of an application program used to access the exported document typically cannot be performed on the text after such conversions. Additionally, other text-related functions that an application program may provide are typically may also be unusable on the converted text.
In view of the foregoing, there is a need in the art generating electronic documents in a manner that allows exported documents to consistently look the same as the original documents. A further need exists to generate electronic documents for export, where the exported documents comprise the text of the original document and support the operations of selecting and editing the text, performing search functions on the text, and performing other text-related functions that may be provided by an application program used to access exported documents.